package com.xiaoshuidi.cloud.module.contract.dal.dataobject.bill;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.xiaoshuidi.cloud.module.contract.controller.admin.bill.vo.orderFees.OrderFeesRespVO;
import lombok.*;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 账单 DO
 *
 * @author 合房租赁
 */
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class RentOrderAndFeeDO {

    /**
     * 账单id
     */
    @TableId
    private Long id;
    /**
     * 序号
     */
    private Long num;
    /**
     * 公寓id
     */
    private Long apartmentId;
    /**
     * 公寓名称
     */
    private String apartmentName;

    /**
     * 房间id
     */
    private Long roomId;

    /**
     * 房间名称
     */
    private String roomName;
    /**
     * 此订单开始时间
     */
    private LocalDate startTime;

    /**
     * 此订单结束时间
     */
    private LocalDate endTime;

    /**
     * 账单总金额
     */
    private BigDecimal totalAmount;
    /**
     * 此订单实际支付时间
     * */
    private LocalDateTime actualPayTime;

    /**
     * 支付状态(unpaid 待支付 |payment 已支付|part  部分支付),
     */
    private String payStatus;

    /**
     * 此订单支付时间
     */
    private LocalDate oughtPayTime;

    /*
     * 账单明细
     * */
    @TableField(exist = false)
    List<OrderFeesRespVO> feeDetail;

}
